
/**
 * 判断是否为null
 * @param {*} val 
 * @returns 
 */
export function isUndef(val) {
    return typeof val === 'undefined'
}
/**
 * 判断是否为null
 * @param {*} val 
 * @returns 
 */
export function isNull(val) {
    return val === null
}

/**
 * 为null或undef
 * @param {*} val 
 * @returns 
 */
export function isNullOrUndef(val) {
    return isNull(val) || isUndef(val)
}


/**
 * 根据当前权限 生成对应的侧边栏菜单
 * @param {*} routes  vue-router路由映射表
 * @param {*} auth    拥有的权限数组
 * @returns 侧边菜单对象数组
 */
export function routesToMenu(routes, auth) {
    if (routes.length) {
        return routes.map((route) => {
            if (auth && !auth.some((item) => item.code === route.name)) {
                return undefined;
            }
            return {
                label: route.meta ? route.meta.label : null,
                icon: route.meta ? route.meta.icon : null,
                key: route.name.toString(),
                children: route.children && route.children.length && !route.meta.noChild ?
                    routesToMenu(route.children, auth) : undefined
            };
        }).filter((f) => f);
    }
    return undefined;
}
